<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>intc: xintc_tapp_example.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">intc
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xintc__tapp__example_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xintc_tapp_example.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains a self test example using the Interrupt Controller driver (<a class="el" href="struct_x_intc.html" title="The XIntc driver instance data. ">XIntc</a>) and hardware device. </p>
<p>Please reference other device driver examples to see more examples of how the Intc and interrupts can be used by a software application.</p>
<p>This example shows the use of the Interrupt Controller both with a PowerPC405 and MicroBlaze processor.</p>
<p>The TestApp Gen utility uses this file to perform the self test and setup of Intc for interrupts.</p>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>None</p>
<pre></pre><pre>MODIFICATION HISTORY:</pre><pre>Ver   Who  Date  Changes
</p>
<hr/>
<p>
1.00a sv   06/29/05  Created for Test App Integration
1.00c sn   05/09/06  Added Interrupt Setup Function
2.00a ktn  10/20/09  Updated to use HAL Processor APIs and minor changes as
               per coding guidelines.
3.6   ms   01/23/17 Added xil_printf statement in main function to
                    ensure that "Successfully ran" and "Failed" strings
                    are available in all examples. This is a fix for
                    CR-965028.
</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a056a4f4a2347a1eb9d379d191b30735b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xintc__tapp__example_8c.html#a056a4f4a2347a1eb9d379d191b30735b">IntcSelfTestExample</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:a056a4f4a2347a1eb9d379d191b30735b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function runs a self-test on the driver/device.  <a href="#a056a4f4a2347a1eb9d379d191b30735b">More...</a><br/></td></tr>
<tr class="separator:a056a4f4a2347a1eb9d379d191b30735b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a297705047f75055bf7856596d7313614"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xintc__tapp__example_8c.html#a297705047f75055bf7856596d7313614">IntcInterruptSetup</a> (<a class="el" href="struct_x_intc.html">XIntc</a> *IntcInstancePtr, u16 DeviceId)</td></tr>
<tr class="memdesc:a297705047f75055bf7856596d7313614"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used by the TestAppGen generated application to setup the interrupt controller.  <a href="#a297705047f75055bf7856596d7313614">More...</a><br/></td></tr>
<tr class="separator:a297705047f75055bf7856596d7313614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xintc__tapp__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
<tr class="memdesc:a840291bc02cba5474a4cb46a9b9566fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is the main function for the Interrupt Controller example.  <a href="#a840291bc02cba5474a4cb46a9b9566fe">More...</a><br/></td></tr>
<tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a297705047f75055bf7856596d7313614"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int IntcInterruptSetup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_intc.html">XIntc</a> *&#160;</td>
          <td class="paramname"><em>IntcInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used by the TestAppGen generated application to setup the interrupt controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">IntcInstancePtr</td><td>is the reference to the Interrupt Controller instance. </td></tr>
    <tr><td class="paramname">DeviceId</td><td>is device ID of the Interrupt Controller Device, typically XPAR_&lt;INTC_instance&gt;_DEVICE_ID value from xparameters.h.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS to indicate success, otherwise XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__intc.html#ga56b4aa3cb483ea5c882e2e36a4800af2">XIN_REAL_MODE</a>, <a class="el" href="group__intc.html#gace91a1aeaf1a88e1b769decb4ac4a818">XIntc_DeviceInterruptHandler()</a>, <a class="el" href="group__intc.html#gaa7adc53d40c41e1a714ef8857329043d">XIntc_Initialize()</a>, <a class="el" href="group__intc.html#gaf9a9a16180b363930d21bc94dfe71147">XIntc_SelfTest()</a>, and <a class="el" href="group__intc.html#ga863eb58a3ae9419c7ac5da7c9fa9cb50">XIntc_Start()</a>.</p>

</div>
</div>
<a class="anchor" id="a056a4f4a2347a1eb9d379d191b30735b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int IntcSelfTestExample </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function runs a self-test on the driver/device. </p>
<p>This is a destructive test. This function is an example of how to use the interrupt controller driver component (<a class="el" href="struct_x_intc.html" title="The XIntc driver instance data. ">XIntc</a>) and the hardware device. This function is designed to work without any hardware devices to cause interrupts. It may not return if the interrupt controller is not properly connected to the processor in either software or hardware.</p>
<p>This function relies on the fact that the interrupt controller hardware has come out of the reset state such that it will allow interrupts to be simulated by the software.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>is device ID of the Interrupt Controller Device, typically XPAR_&lt;INTC_instance&gt;_DEVICE_ID value from xparameters.h.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS to indicate success, otherwise XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__intc.html#gaa7adc53d40c41e1a714ef8857329043d">XIntc_Initialize()</a>, and <a class="el" href="group__intc.html#gaf9a9a16180b363930d21bc94dfe71147">XIntc_SelfTest()</a>.</p>

<p>Referenced by <a class="el" href="xintc__tapp__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int main </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This is the main function for the Interrupt Controller example. </p>
<p>This function is not included if the example is generated from the TestAppGen test tool.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">None.</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS to indicate success, otherwise XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xintc__tapp__example_8c.html#a056a4f4a2347a1eb9d379d191b30735b">IntcSelfTestExample()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
